package com.myway.dto.payment;

import com.myway.dto.order.DTOOrder;
import com.myway.dto.payment.domain.PayAction;
import com.myway.dto.payment.domain.PayStatus;
import com.myway.dto.payment.domain.PayType;
import com.myway.dto.payment.domain.RefundType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 类名称：DTOPayment <br/>
 * 类描述：支付DTO <br/>
 * 创建时间：2015年11月17日 下午2:29:10 <br/>
 * @author 张涛
 * @version V1.0
 */
public class DTOPayment implements Serializable {

	private static final long serialVersionUID = 2798963451070146974L;

	/**-------通用支付信息----------**/
	private long id;
	//订单ID
	private long[] orderId;
	//支付编号
	private String paymentNo;
	//支付金额
	private BigDecimal amount = new BigDecimal(0.00);  // 总金额
	//支付时间
	private Date payTime;
	//回调时间
	private Date returnTime;
	//币种
	private String currency;
	//备注
	private String remark;
	//解决时间
	private Date setttleDate;
	//支付渠道类型
	private PayType payType;
	//支付类型
	private PayAction payAction;
	//支付状态
	private PayStatus payStatus;
	//内容
	private String content;
	//商户号
	private String merchantId;
	//银行编号
	private String bankId;
	//错误代码
	private String errCode;
	//错误信息
	private String errMsg;
	//支付来源
	private String source; 
	//前台回调地址
	private String returnUrl;
	//后台回调地址
	private String backReturnUrl;
	//积分支付金额
	private BigDecimal pointOrderAmount = new BigDecimal(0.00);
	
	
	
	/**-----易宝信用卡支付EPOS----**/
	//支付人姓名
	private String payer;
	//支付人姓名
	private String payerName;
	//证件类型
	private String credType ; 
	//证件号码
	private String credCode ; 
	//消费者手机号
	private String buyerTel ;
	//信用卡卡号
	private String actId ; 	
	//有效期年
	private String expireYear ; 
	//有效期 月
	private String expireMonth ;
	//CVV
	private String cvv ; 			
	
	/**--------拓展属性---------**/
	private Map extMap;
	
	/**返回参数**/
	private String returnInfo;
	
	// 退款
	private long[] cancelId;
	private String cancelNo;
	
	// 航班变更
	private long[] changeId;
	private BigDecimal changeAmount;
	
	// 至尊租车
	private long[] top1Id;
	private BigDecimal top1Amount;
	
	private List<DTOOrder> orders;
	private long orderNo;
	
	//退款类型
	private RefundType refundType;
	
	//支付的保险ID
	private long[] insuranceId ; 
	private BigDecimal InsuranceAmount;
	
	//辅营产品ID
	private long[] supportBusinessId;
	//辅营产品金额
	private BigDecimal supportBusinessAmount;
	
	//购买积分
	private long pointId;
	
	//补够支付
	private long[] orderExrbuyId;
	private BigDecimal orderExrbuyAmount;
	
	//一嗨接送机
	private long[] yhOrderId;
	private BigDecimal yhOrderAmount;
	
	//第三方流水号 
	private String dealId;			
	
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public long[] getOrderId() {
		return orderId;
	}
	public void setOrderId(long[] orderId) {
		this.orderId = orderId;
	}
	public String getPaymentNo() {
		return paymentNo;
	}
	public void setPaymentNo(String paymentNo) {
		this.paymentNo = paymentNo;
	}
	public BigDecimal getAmount() {
		return amount;
	}
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}
	public Date getPayTime() {
		return payTime;
	}
	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}
	public Date getReturnTime() {
		return returnTime;
	}
	public void setReturnTime(Date returnTime) {
		this.returnTime = returnTime;
	}
	public String getCurrency() {
		return currency;
	}
	public void setCurrency(String currency) {
		this.currency = currency;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public Date getSetttleDate() {
		return setttleDate;
	}
	public void setSetttleDate(Date setttleDate) {
		this.setttleDate = setttleDate;
	}
	public PayType getPayType() {
		return payType;
	}
	public void setPayType(PayType payType) {
		this.payType = payType;
	}
	public PayAction getPayAction() {
		return payAction;
	}
	public void setPayAction(PayAction payAction) {
		this.payAction = payAction;
	}
	public PayStatus getPayStatus() {
		return payStatus;
	}
	public void setPayStatus(PayStatus payStatus) {
		this.payStatus = payStatus;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getMerchantId() {
		return merchantId;
	}
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}
	public String getBankId() {
		return bankId;
	}
	public void setBankId(String bankId) {
		this.bankId = bankId;
	}
	public String getErrCode() {
		return errCode;
	}
	public void setErrCode(String errCode) {
		this.errCode = errCode;
	}
	public String getErrMsg() {
		return errMsg;
	}
	public void setErrMsg(String errMsg) {
		this.errMsg = errMsg;
	}
	public String getSource() {
		return source;
	}
	public void setSource(String source) {
		this.source = source;
	}
	public String getReturnUrl() {
		return returnUrl;
	}
	public void setReturnUrl(String returnUrl) {
		this.returnUrl = returnUrl;
	}
	public String getBackReturnUrl() {
		return backReturnUrl;
	}
	public void setBackReturnUrl(String backReturnUrl) {
		this.backReturnUrl = backReturnUrl;
	}
	public BigDecimal getPointOrderAmount() {
		return pointOrderAmount;
	}
	public void setPointOrderAmount(BigDecimal pointOrderAmount) {
		this.pointOrderAmount = pointOrderAmount;
	}
	public String getPayer() {
		return payer;
	}
	public void setPayer(String payer) {
		this.payer = payer;
	}
	public String getPayerName() {
		return payerName;
	}
	public void setPayerName(String payerName) {
		this.payerName = payerName;
	}
	public String getCredType() {
		return credType;
	}
	public void setCredType(String credType) {
		this.credType = credType;
	}
	public String getCredCode() {
		return credCode;
	}
	public void setCredCode(String credCode) {
		this.credCode = credCode;
	}
	public String getBuyerTel() {
		return buyerTel;
	}
	public void setBuyerTel(String buyerTel) {
		this.buyerTel = buyerTel;
	}
	public String getActId() {
		return actId;
	}
	public void setActId(String actId) {
		this.actId = actId;
	}
	public String getExpireYear() {
		return expireYear;
	}
	public void setExpireYear(String expireYear) {
		this.expireYear = expireYear;
	}
	public String getExpireMonth() {
		return expireMonth;
	}
	public void setExpireMonth(String expireMonth) {
		this.expireMonth = expireMonth;
	}
	public String getCvv() {
		return cvv;
	}
	public void setCvv(String cvv) {
		this.cvv = cvv;
	}
	public Map getExtMap() {
		return extMap;
	}
	public void setExtMap(Map extMap) {
		this.extMap = extMap;
	}
	public long[] getCancelId() {
		return cancelId;
	}
	public void setCancelId(long[] cancelId) {
		this.cancelId = cancelId;
	}
	public String getCancelNo() {
		return cancelNo;
	}
	public void setCancelNo(String cancelNo) {
		this.cancelNo = cancelNo;
	}
	public long[] getChangeId() {
		return changeId;
	}
	public void setChangeId(long[] changeId) {
		this.changeId = changeId;
	}
	
	public BigDecimal getChangeAmount() {
		return changeAmount;
	}
	public void setChangeAmount(BigDecimal changeAmount) {
		this.changeAmount = changeAmount;
	}
	public List<DTOOrder> getOrders() {
		return orders;
	}
	public void setOrders(List<DTOOrder> orders) {
		this.orders = orders;
	}
	public long getOrderNo() {
		return orderNo;
	}
	public void setOrderNo(long orderNo) {
		this.orderNo = orderNo;
	}
	public RefundType getRefundType() {
		return refundType;
	}
	public void setRefundType(RefundType refundType) {
		this.refundType = refundType;
	}
	public long[] getInsuranceId() {
		return insuranceId;
	}
	public void setInsuranceId(long[] insuranceId) {
		this.insuranceId = insuranceId;
	}
	public BigDecimal getInsuranceAmount() {
		return InsuranceAmount;
	}
	public void setInsuranceAmount(BigDecimal insuranceAmount) {
		InsuranceAmount = insuranceAmount;
	}
	public long[] getSupportBusinessId() {
		return supportBusinessId;
	}
	public void setSupportBusinessId(long[] supportBusinessId) {
		this.supportBusinessId = supportBusinessId;
	}
	public BigDecimal getSupportBusinessAmount() {
		return supportBusinessAmount;
	}
	public void setSupportBusinessAmount(BigDecimal supportBusinessAmount) {
		this.supportBusinessAmount = supportBusinessAmount;
	}
	public long getPointId() {
		return pointId;
	}
	public void setPointId(long pointId) {
		this.pointId = pointId;
	}
	public long[] getOrderExrbuyId() {
		return orderExrbuyId;
	}
	public void setOrderExrbuyId(long[] orderExrbuyId) {
		this.orderExrbuyId = orderExrbuyId;
	}
	public BigDecimal getOrderExrbuyAmount() {
		return orderExrbuyAmount;
	}
	public void setOrderExrbuyAmount(BigDecimal orderExrbuyAmount) {
		this.orderExrbuyAmount = orderExrbuyAmount;
	}
	
	public long[] getTop1Id() {
		return top1Id;
	}
	public void setTop1Id(long[] top1Id) {
		this.top1Id = top1Id;
	}
	public BigDecimal getTop1Amount() {
		return top1Amount;
	}
	public void setTop1Amount(BigDecimal top1Amount) {
		this.top1Amount = top1Amount;
	}
	public long[] getYhOrderId() {
		return yhOrderId;
	}
	public void setYhOrderId(long[] yhOrderId) {
		this.yhOrderId = yhOrderId;
	}
	public BigDecimal getYhOrderAmount() {
		return yhOrderAmount;
	}
	public void setYhOrderAmount(BigDecimal yhOrderAmount) {
		this.yhOrderAmount = yhOrderAmount;
	}
	public String getReturnInfo() {
		return returnInfo;
	}
	public void setReturnInfo(String returnInfo) {
		this.returnInfo = returnInfo;
	}
	public String getDealId() {
		return dealId;
	}
	public void setDealId(String dealId) {
		this.dealId = dealId;
	}

	
	
	
}
